%%-*- mode: erlang -*-

{plugins, [
    rebar3_proper,
    {grpc_plugin, {git, "https://github.com/HJianBo/grpc_plugin", {tag, "v0.10.2"}}}
]}.

{deps, [
    {emqx, {path, "../emqx"}},
    {emqx_utils, {path, "../emqx_utils"}}
]}.

{grpc, [
    {protos, ["priv/protos"]},
    {gpb_opts, [
        {module_name_prefix, "emqx_"},
        {module_name_suffix, "_pb"},
        {o, "src/pb"}
    ]},
    {out_dir, "src/pb"}
]}.
{provider_hooks, [
    {pre, [
        {compile, {grpc, gen}},
        {clean, {grpc, clean}}
    ]}
]}.

{edoc_opts, [{preprocess, true}]}.

{erl_opts, [
    warn_unused_vars,
    warn_shadow_vars,
    warn_unused_import,
    warn_obsolete_guard,
    debug_info,
    {parse_transform}
]}.

{xref_checks, [
    undefined_function_calls,
    undefined_functions,
    locals_not_used,
    deprecated_function_calls,
    warnings_as_errors,
    deprecated_functions
]}.
{xref_ignores, [emqx_exhook_pb]}.

{cover_enabled, true}.
{cover_opts, [verbose]}.
{cover_export_enabled, true}.
{cover_excl_mods, [
    emqx_exhook_pb,
    emqx_exhook_v_2_hook_provider_bhvr,
    emqx_exhook_v_2_hook_provider_client
]}.

{project_plugins, [erlfmt]}.
